/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.sad.controller;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.TooManyListenersException;
import javax.faces.convert.DateTimeConverter;
import javax.servlet.http.HttpSession;
import pe.edu.upc.sad.dao.EmpresaAreaDao;
import pe.edu.upc.sad.dao.EmpresaAreaDaoImpl;
import pe.edu.upc.sad.dao.ReservaDao;
import pe.edu.upc.sad.dao.ReservaDaoImpl;
import pe.edu.upc.sad.dao.TipoAreaDao;
import pe.edu.upc.sad.dao.TipoAreaDaoImpl;
import pe.edu.upc.sad.model.EmpresaArea;
import pe.edu.upc.sad.model.MensajeResultado;
import pe.edu.upc.sad.model.Reserva;
import pe.edu.upc.sad.model.TipoArea;
import pe.edu.upc.sad.model.Usuario;
import pe.edu.upc.sad.util.Conexion;
import pe.edu.upc.sad.util.ToolSql;
/**
/**
 *
 * @author HP
 */
public class InsertReserva extends HttpServlet {

      ReservaDao tarea = new ReservaDaoImpl();

     @Override
    public void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {
         Gson gson = new Gson();


        try
        {
             MensajeResultado oResultado = null;


//               fechadesde: String(_startDateEdit + ' ' + new_hora_em),
//                fechahasta: String(_startDateEdit + ' ' +new_hora_fin),
//                dni:_txtusuario.value.replace(/^\s*|\s*$/g,""),
//                idempresaarea: String(ID_tipoarea),
//                horas:String(Nro_Horas),
//                detalle:_txtdetalle.value.replace(/^\s*|\s*$/g,"")
//
           // stmt.setString(1,reserve.getFechaDesde());
//          stmt.setString(2,reserve.getFechaHasta());
//          stmt.setString(3,reserve.getUsuario().getDni());
//          stmt.setString(4,"1");
//          stmt.setInt(5,reserve.getEmpresaarea().getIdEmpresaArea());
//          stmt.setDouble(6,horas);
//          stmt.setString(7,reserve.getDetalle());
             
            String dni=(request.getParameter("dni") != null) ?  request.getParameter("dni").toString()  : "";
            String idempresaarea=(request.getParameter("idempresaarea") != null) ?  request.getParameter("idempresaarea").toString()  : "";
            String horas=(request.getParameter("horas") != null) ?  request.getParameter("horas").toString()  : "";
            String fechad=(request.getParameter("fechadesde") != null) ?  request.getParameter("fechadesde").toString()  : "";
            String fechah=(request.getParameter("fechahasta") != null) ?  request.getParameter("fechahasta").toString()  : "";
            String detalle=(request.getParameter("detalle") != null) ?  request.getParameter("detalle").toString()  : "";
            int id_idempresaarea=(idempresaarea.toString().equals("")) ?   0 : Integer.parseInt(idempresaarea);
            int id_horas=(dni.toString().equals("")) ?   0 : Integer.parseInt(horas);
            String fechai =fechad;
            String Fechaini_save =      fechai.substring(6, 10) + '-' + fechai.substring(3, 5) + '-' + fechai.substring(0, 2)+ ' ' + fechai.substring(11, 19);
            String fechaf = fechah;
            String Fechafni_save =      fechaf.substring(6, 10) + '-' + fechaf.substring(3, 5) + '-' + fechaf.substring(0,2) + ' ' + fechaf.substring(11, 19);

            Usuario user = new Usuario();
            user.setDni(dni);
            EmpresaArea emparea= new EmpresaArea();
            emparea.setIdEmpresaArea(id_idempresaarea);
            Reserva reser= new Reserva();
            reser.setFechaDesde(Fechaini_save);
            reser.setFechaHasta(Fechafni_save);
            reser.setUsuario(user);
            reser.setEmpresaarea(emparea);
            reser.setDetalle(detalle);
            oResultado = tarea.InsertReserva(reser,id_horas);

            String json = "{'MensajeResultado':";
            json += gson.toJson(oResultado) + "}";
            response.setContentType("text/x-json;charset=UTF-8");
            response.setHeader("Cache-Control", "no-cache");
            PrintWriter out = response.getWriter();
            out.println(json);

            out.close();
            out.flush();

        }catch(Exception e)
        {
            //System.out.println("Error en la pagina" + e.getMessage());
            MensajeResultado  oResultado = new MensajeResultado();
            oResultado.setESTADO(0);
            oResultado.setDETALLE(e.getMessage().toString());
            oResultado.setMENSAJE("Se produjo un Error");
            oResultado.setID_RETURN("");
            oResultado.setTIPO_RETURN("");
            String json = "{'MensajeResultado':";
            json += gson.toJson(oResultado)  + "}";
            response.setContentType("text/x-json;charset=UTF-8");
            response.setHeader("Cache-Control", "no-cache");
            PrintWriter out = response.getWriter();
            out.println(json);

            out.close();
            out.flush();
        }
    }

    @Override
    public void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {

    }
}